﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Common.Enum
{
    /// <summary>
    /// API响应状态码枚举
    /// 包含HTTP标准状态码和自定义业务状态码
    /// </summary>
    public enum ApiCode
    {
        /// <summary>
        /// 请求成功
        /// </summary>
        Success = 200,

        /// <summary>
        /// 错误的请求 - 客户端请求语法错误，服务器无法理解
        /// </summary>
        BadRequest = 400,

        /// <summary>
        /// 未授权 - 请求要求身份验证
        /// </summary>
        Unauthorized = 401,

        /// <summary>
        /// 禁止访问 - 服务器理解请求但拒绝执行
        /// </summary>
        Forbidden = 403,

        /// <summary>
        /// 资源未找到 - 服务器找不到请求的资源
        /// </summary>
        NotFound = 404,

        /// <summary>
        /// 服务器内部错误 - 服务器遇到意外情况无法完成请求
        /// </summary>
        InternalServerError = 500,

        /// <summary>
        /// 服务不可用 - 服务器暂时过载或维护
        /// </summary>
        ServiceUnavailable = 503,

        // 自定义业务错误码（可根据需要扩展）

        /// <summary>
        /// 业务逻辑错误 - 自定义业务规则验证失败
        /// </summary>
        BusinessError = 1000,

        /// <summary>
        /// 数据验证错误 - 请求数据格式或内容不符合要求
        /// </summary>
        ValidationError = 1001,

        /// <summary>
        /// 数据未找到 - 查询的特定业务数据不存在
        /// </summary>
        DataNotFound = 1002
    }
}
